Skip to content

Conversation

@vredchenko
Copy link
Collaborator

Summary

Adds a new "artefacts" dropdown menu to the webui header for downloading SmartEM build artefacts.

Current items (placeholder URLs):

  • SmartEM Dev Workspace (Python CLI tool)
  • SmartEM Backend (Container image)
  • SmartEM Agent (Win10 executable)
  • FSRecorder (Win10 executable)
  • SmartEM Frontend (Web UI package)

TODO before merging

  • Add actual download URLs for each artefact
  • Consider auto-linking to latest version of each item
  • Add expanded description text for some items
  • Possibly link to a page that lists all versions

Test plan

  • Verify dropdown appears in header next to "board" button
  • Verify all 5 items are listed with descriptions
  • Verify links open in new tab

@vredchenko
Copy link
Collaborator Author

Note: repos-and-refs naming consolidation

The original reasoning behind repos-and-refs was to include more than just repos:

  • GitHub Pages docs content
  • Project board(s)
  • Artifacts (container images, PyPI packages, frontend bundles, binaries)

This naming mismatch between repos.json and repos-and-refs.ts should be addressed in this PR's scope.

(Referenced from PR #113 discussion)

Adds a new dropdown menu in the header for downloading SmartEM artefacts:
- SmartEM Dev Workspace (Python CLI tool)
- SmartEM Backend (Container image)
- SmartEM Agent (Win10 executable)
- FSRecorder (Win10 executable)
- SmartEM Frontend (Web UI package)

URLs are placeholders for now.
Val Redchenko added 4 commits January 15, 2026 16:27
- Create core/artefacts.json as source of truth for downloadable artefacts
- Remove artefacts from webui-config.ts, wire through prebuild.ts
- Update ArtefactsMenu to match RepoListBar style (textured background,
  rotating chevron, external link icons)
- Add command field with CopyCodeBox for install/download commands
Adopt JSON-first configuration architecture with single index.ts for types:

- Convert TS configs to JSON: github-labels, webui-config, microscope-list
- Create core/index.ts with all TypeScript interfaces and typed re-exports
- Update webui/src/config/index.ts to import from core/ and transform
- Simplify prebuild.ts to docs sync only (no more config generation)
- Update tools/github/sync-labels.ts import path
- Delete unused TS wrapper files and generated webui-app-contents.ts

See ADR 0013 for rationale and detailed explanation.
- backend: GHCR packages page + docker pull command
- agent: Actions workflow page for artifact downloads
- fsrecorder: Actions workflow page for artifact downloads
- frontend: updated description (pending Pages setup)

Related issues for future improvements:
- DiamondLightSource/smartem-decisions#211 (agent releases)
- #117 (fsrecorder releases)
- DiamondLightSource/smartem-frontend#34 (frontend Pages)
@vredchenko vredchenko marked this pull request as ready for review January 16, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants